<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>

<cpn>

</cpn>

<div id="app">
  <cpn></cpn>
  <cpn></cpn>
  <cpn></cpn>
</div>

<div id="app2">
  <!-- cpn为局部组件 只能在app中使用 -->
  <cpn></cpn>
</div>


  
<script src="../js/vue.js"></script>
<script>
  // 1. 创建组件构造器对象 这样创建的为全局组件
  // ES5使用 ``进行定义 增加换行功能
  // Vue.extend(对象) 
  const cpnC = Vue.extend({
    template: 
    `
    <div>
      <h2>我是标题</h2>
      <p>我是内容1..</p>
      <p>我是内容2..</p>
    </div>
    `,
  });

  // 2. 注册组件(全局组件，意味着可以在多个Vue的实例下面使用)
  // Vue.component("组件标签名", 组件构造器)
  // 提出疑问： 那么怎么注册的才是局部组件
  // ps: 在指定Vue实例下注册的为局部组件
  Vue.component('my-cpn', cpnC)

  const app = new Vue({
    el: '#app',
    data: 
    {
      message: '你好呀',
    },
    components: 
    {
      // cpn 为使用组件时的标签名 cpnC组件构造器
      cpn: cpnC,  
    }
  })

  // 也可以使用
  const app2 = new Vue({
    el: '#app2',
  })
</script>
</body>
</html>